package com.erp.erp_ui.money.req;

import com.erp.erp_ui.warehouse.req.AnnexReq;
import org.hibernate.validator.constraints.NotEmpty;

import java.math.BigDecimal;
import java.util.List;

/**
 * @ClassName : AddReceivePaymentReq
 * @Description : 资金管理-新增收费入参实体
 * @Author : lst
 * @Date: 2020-12-04 15:43
 */
public class AddReceivePaymentReq {

    /**
     * 主键id
     */
    private Integer id;

    /**
     * 保存类型(1:保存 2:保存并招领)
     */
    private Integer save;

    /**
     * 收款编号
     */
    @NotEmpty(message = "收款编号不能为空")
    private String billNo;

    /**
     * 新单号
     */
    private String newBillNo;

    /**
     * 收款日期
     */
    private String time;

    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 客户编码
     */
    private String customerCode;

    /**
     * 收款账号
     */
    private String accountNo;

    /**
     * 账号名称
     */
    private String accountName;

    /**
     * 币种
     */
    private String currency;

    /**
     * 币种编码
     */
    private String currencyCode;

    /**
     * 人民币汇率
     */
    private BigDecimal rmbRate;

    /**
     * 美金汇率
     */
    private BigDecimal usdRate;

    /**
     * 入账金额
     */
    private BigDecimal entryAmount;

    /**
     * 银行扣费(外)
     */
    private BigDecimal bankDeductionExcept;

    /**
     * 银行扣费(本)
     */
    private BigDecimal bankDeductionCapital;

    /**
     * 收汇金额
     */
    private BigDecimal collectionAmount;

    /**
     * 已认领
     */
    private BigDecimal claimed;

    /**
     * 待认领
     */
    private BigDecimal toBeClaimed;

    /**
     * 业务员
     */
    private String salesman;

    /**
     * 业务员编码
     */
    private String salesmanCode;

    /**
     * 部门名称
     */
    private String departmentName;

    /**
     * 部门编码
     */
    private String departmentCode;

    /**
     * 制单公司
     */
    private String voucherCompanyName;

    /**
     * 制单公司编码
     */
    private String voucherCompanyCode;

    /**
     * 操作人
     */
    private String operator;

    /**
     * 操作人编码
     */
    private String operationNo;

    /**
     * 备注
     */
    private String memo;

    /**
     * 附件集合
     */
    private List<AnnexReq> annexList;


    public String getAccountName() {
        return accountName;
    }

    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getBillNo() {
        return billNo;
    }

    public void setBillNo(String billNo) {
        this.billNo = billNo;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCustomerCode() {
        return customerCode;
    }

    public void setCustomerCode(String customerCode) {
        this.customerCode = customerCode;
    }

    public String getAccountNo() {
        return accountNo;
    }

    public void setAccountNo(String accountNo) {
        this.accountNo = accountNo;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getCurrencyCode() {
        return currencyCode;
    }

    public void setCurrencyCode(String currencyCode) {
        this.currencyCode = currencyCode;
    }

    public BigDecimal getRmbRate() {
        return rmbRate;
    }

    public void setRmbRate(BigDecimal rmbRate) {
        this.rmbRate = rmbRate;
    }

    public BigDecimal getUsdRate() {
        return usdRate;
    }

    public void setUsdRate(BigDecimal usdRate) {
        this.usdRate = usdRate;
    }

    public BigDecimal getEntryAmount() {
        return entryAmount;
    }

    public void setEntryAmount(BigDecimal entryAmount) {
        this.entryAmount = entryAmount;
    }

    public BigDecimal getBankDeductionExcept() {
        return bankDeductionExcept;
    }

    public void setBankDeductionExcept(BigDecimal bankDeductionExcept) {
        this.bankDeductionExcept = bankDeductionExcept;
    }

    public BigDecimal getBankDeductionCapital() {
        return bankDeductionCapital;
    }

    public void setBankDeductionCapital(BigDecimal bankDeductionCapital) {
        this.bankDeductionCapital = bankDeductionCapital;
    }

    public BigDecimal getCollectionAmount() {
        return collectionAmount;
    }

    public void setCollectionAmount(BigDecimal collectionAmount) {
        this.collectionAmount = collectionAmount;
    }

    public BigDecimal getClaimed() {
        return claimed;
    }

    public void setClaimed(BigDecimal claimed) {
        this.claimed = claimed;
    }

    public BigDecimal getToBeClaimed() {
        return toBeClaimed;
    }

    public void setToBeClaimed(BigDecimal toBeClaimed) {
        this.toBeClaimed = toBeClaimed;
    }

    public String getSalesman() {
        return salesman;
    }

    public void setSalesman(String salesman) {
        this.salesman = salesman;
    }

    public String getSalesmanCode() {
        return salesmanCode;
    }

    public void setSalesmanCode(String salesmanCode) {
        this.salesmanCode = salesmanCode;
    }

    public String getDepartmentName() {
        return departmentName;
    }

    public void setDepartmentName(String departmentName) {
        this.departmentName = departmentName;
    }

    public String getDepartmentCode() {
        return departmentCode;
    }

    public void setDepartmentCode(String departmentCode) {
        this.departmentCode = departmentCode;
    }

    public String getVoucherCompanyName() {
        return voucherCompanyName;
    }

    public void setVoucherCompanyName(String voucherCompanyName) {
        this.voucherCompanyName = voucherCompanyName;
    }

    public String getVoucherCompanyCode() {
        return voucherCompanyCode;
    }

    public void setVoucherCompanyCode(String voucherCompanyCode) {
        this.voucherCompanyCode = voucherCompanyCode;
    }

    public String getOperator() {
        return operator;
    }

    public void setOperator(String operator) {
        this.operator = operator;
    }

    public String getOperationNo() {
        return operationNo;
    }

    public void setOperationNo(String operationNo) {
        this.operationNo = operationNo;
    }

    public String getMemo() {
        return memo;
    }

    public void setMemo(String memo) {
        this.memo = memo;
    }

    public List<AnnexReq> getAnnexList() {
        return annexList;
    }

    public void setAnnexList(List<AnnexReq> annexList) {
        this.annexList = annexList;
    }

    public Integer getSave() {
        return save;
    }

    public void setSave(Integer save) {
        this.save = save;
    }

    public String getNewBillNo() {
        return newBillNo;
    }

    public void setNewBillNo(String newBillNo) {
        this.newBillNo = newBillNo;
    }

    /**
     * 重写toString
     */
    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("AddReceivePaymentReq").append('[')
                .append("id=")
                .append(id)
                .append(",save=")
                .append(save)
                .append(",billNo=")
                .append(billNo)
                .append(",newBillNo=")
                .append(newBillNo)
                .append(",time=")
                .append(time)
                .append(",customerName=")
                .append(customerName)
                .append(",customerCode=")
                .append(customerCode)
                .append(",accountNo=")
                .append(accountNo)
                .append(",accountName=")
                .append(accountName)
                .append(",currency=")
                .append(currency)
                .append(",currencyCode=")
                .append(currencyCode)
                .append(",rmbRate=")
                .append(rmbRate)
                .append(",usdRate=")
                .append(usdRate)
                .append(",entryAmount=")
                .append(entryAmount)
                .append(",bankDeductionExcept=")
                .append(bankDeductionExcept)
                .append(",bankDeductionCapital=")
                .append(bankDeductionCapital)
                .append(",collectionAmount=")
                .append(collectionAmount)
                .append(",claimed=")
                .append(claimed)
                .append(",toBeClaimed=")
                .append(toBeClaimed)
                .append(",salesman=")
                .append(salesman)
                .append(",salesmanCode=")
                .append(salesmanCode)
                .append(",departmentName=")
                .append(departmentName)
                .append(",departmentCode=")
                .append(departmentCode)
                .append(",voucherCompanyName=")
                .append(voucherCompanyName)
                .append(",voucherCompanyCode=")
                .append(voucherCompanyCode)
                .append(",operator=")
                .append(operator)
                .append(",operationNo=")
                .append(operationNo)
                .append(",memo=")
                .append(memo)
                .append(",annexList=")
                .append(annexList)
                .append(']');
        return sb.toString();
    }
}
